In color matching processing, color caching is applicable when an output color is uniquely determined from an input color. Color caching provides a greater effect as matching operation for calculating an output color from an input color becomes more complicated.
In a case where a color matching operation is complicated, the number of times of color matching may be reduced to improve color matching processing speed. However, it may be counterproductive if preprocessing (e.g., an operation for determining whether or not a hit is found in a hash table) is made too complicated.
Caching includes two methods: a method where values for a plurality of pixels already processed are cached for reference (hereinafter referred to as a plural pixel caching method), and a method where a value for an immediately preceding pixel is cached for reference (hereinafter referred to as a single pixel caching method). The plural pixel caching method has a higher hit rate compared to the single pixel caching method. However, in a case of an image having a low hit rate such as a photograph image, the single pixel caching method may sometimes achieve a better processing efficiency as a whole. This reverse phenomenon occurs because a low hit rate generates an overhead in preprocessing that cannot be neglected. Furthermore, when a hit rate is extremely low, sometimes it is better not to use caching. Characteristics of each color caching method are described below.
Single Pixel Caching Method
A high hit rate is expected for a background image or an image having a large proportion of a solidly filled area, whereas a low hit rate is obtained for a gradation area or a photograph image. Since preprocessing is simple, an overhead is relatively low even in the case of a low hit rate.
Plural Pixel Caching Method
A higher hit rate is achieved compared to the single pixel caching method. High efficiency is expected when the number of colors in an image is lower than the number of entries registrable in a hash table, but low efficiency is obtained when collisions frequently occur in a hash table. Since preprocessing is complicated, an overhead is generated for an image having a low hit rate such as a photograph image.
Each caching method has advantages and disadvantages as described above, and processing efficiency depends upon an image subjected to processing. The image subjected to processing includes an image scanned by a scanner (e.g., a photograph image), an image obtained by rendering 3DCG (three-dimensional computer graphics), an image obtained by rasterising a vector image and so on, and the number of colors included in these images varies.
Furthermore, along with the high quality trend in the recent image input apparatuses, there are more opportunities of handling photograph images having a large image size. As a result, the single pixel caching method, which has been considered to produce a relatively low overhead, has an accumulated preprocessing time that cannot be neglected.